#!/bin/bash

# GoEmqxToDb GUI 构建脚本 (无命令行窗口)
# 支持跨平台编译

echo "开始构建 GoEmqxToDb GUI 版本..."

# 清理旧的 build-gui 目录
rm -rf build-gui
mkdir -p build-gui

# 构建 Windows GUI 版本
echo "构建 Windows GUI 版本..."
GOOS=windows GOARCH=amd64 go build -ldflags="-H windowsgui" -o build-gui/goemqxtodb-gui.exe

# 构建 Linux 版本
echo "构建 Linux 版本..."
GOOS=linux GOARCH=amd64 go build -o build-gui/goemqxtodb-gui

# 构建 macOS 版本
echo "构建 macOS 版本..."
GOOS=darwin GOARCH=amd64 go build -o build-gui/goemqxtodb-gui-mac

# 复制静态文件到build-gui目录
echo "复制静态文件..."

# 复制配置文件
if [ -d "config" ]; then
    echo "复制配置文件..."
    cp -r config build-gui/
fi

# 复制静态页面
if [ -d "static" ]; then
    echo "复制静态页面..."
    cp -r static build-gui/
fi

# 复制图标文件
if [ -d "img" ]; then
    echo "复制图标文件..."
    cp -r img build-gui/
fi

# 复制README文件
if [ -f "README.md" ]; then
    echo "复制README文件..."
    cp README.md build-gui/
fi

# 生成构建信息文件
echo "生成构建信息文件..."
BUILD_TIME=$(date)
BUILD_PLATFORM=$(uname -s)

cat > build-gui/BUILD_INFO.txt << EOF
GoEmqxToDb GUI 构建信息
=======================

构建时间: $BUILD_TIME
版本: 0.5.0
构建平台: $BUILD_PLATFORM
类型: GUI应用程序

包含的文件:
- Windows GUI版本: goemqxtodb-gui.exe (无命令行窗口)
- Linux版本: goemqxtodb-gui
- macOS版本: goemqxtodb-gui-mac
- 配置文件 (config/setting.json)
- 静态页面 (static/config_editor.html)
- 图标文件 (img/favicon.ico)
- 说明文档 (README.md)

使用说明:
1. Windows: 双击运行 goemqxtodb-gui.exe (无命令行窗口)
2. Linux: 运行 ./goemqxtodb-gui
3. macOS: 运行 ./goemqxtodb-gui-mac
4. 程序会在系统托盘显示图标
5. 配置文件位于 config/setting.json
6. 可以通过托盘菜单"编辑配置"打开Web配置界面
7. 详细说明请查看 README.md

注意事项:
- Windows版本为GUI应用程序，运行时不会显示命令行窗口
- 确保配置文件中的MQTT和数据库连接信息正确
- 首次运行会自动创建默认配置文件
- Web配置编辑器需要网络访问权限
- 程序退出请使用托盘菜单的"退出"选项

平台特定说明:
- Windows: 双击exe文件即可运行，无命令行窗口
- Linux: 可能需要设置执行权限 (chmod +x goemqxtodb-gui)
- macOS: 可能需要设置执行权限 (chmod +x goemqxtodb-gui-mac)
EOF

echo "构建完成！"
echo "输出文件："
find build-gui/ -type f -exec ls -la {} \;

echo ""
echo "构建信息已保存到 build-gui/BUILD_INFO.txt"
echo ""
echo "GUI版本特点:"
echo "- Windows版本无命令行窗口，纯GUI界面"
echo "- 系统托盘运行"
echo "- 适合最终用户使用"
echo ""
echo "可执行文件:"
echo "- Windows: build-gui/goemqxtodb-gui.exe"
echo "- Linux: build-gui/goemqxtodb-gui"
echo "- macOS: build-gui/goemqxtodb-gui-mac" 